package com.dd.cloud.user.service.resource;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.entity.resource.PostInfo;
import com.dd.cloud.user.req.resource.PostInfoCreateReq;
import com.dd.cloud.user.req.resource.PostInfoPageReq;
import com.dd.cloud.user.req.resource.PostInfoPageSysReq;
import com.dd.cloud.user.req.resource.PostInfoUpdateReq;
import com.dd.cloud.user.res.resource.PostInfoDetailH5Res;
import com.dd.cloud.user.res.resource.PostInfoPageRes;
import com.dd.cloud.user.res.resource.PostInfoPageSysRes;

/**
 * @author Lx
 * @version 1.0
 * @date 2023/10/16
 */
public interface IPostInfoService extends IService<PostInfo> {
    /**
     * 创建帖子/发帖 运营后台
     *
     * @param req
     */
    void createPostInfoSys(PostInfoCreateReq req);

    /**
     * 修改帖子 运营后台
     *
     * @param req
     */
    void updatePostInfoSys(PostInfoUpdateReq req);

    /**
     * 置顶帖子
     *
     * @param id 帖子id
     */
    void toppingPostInfo(Integer id);

    /**
     * 取消置顶帖子
     *
     * @param id 帖子id
     */
    void cancelToppingPostInfo(Integer id);

    /**
     * 修改帖子状态
     *
     * @param id
     * @param status
     */
    void updatePostInfoStatus(Integer id, Integer status);

    /**
     * 查询帖子列表-分页-运营后台
     *
     * @param req
     * @return
     */
    IPage<PostInfoPageSysRes> queryPostInfoPageSys(PostInfoPageSysReq req);

    /**
     * 查询帖子列表-分页-医生端
     *
     * @param req
     * @return
     */
    IPage<PostInfoPageRes> queryPostInfoPage(PostInfoPageReq req);

    /**
     * 查询帖子详情-h5(目前可共用所有查询帖子详情数据)
     *
     * @param id
     * @return
     */
    PostInfoDetailH5Res queryPostInfoDetailH5(Integer id);
}
